/*
 * © 2024 huayunliufeng保留所有权利, 依据MIT许可证发布。
 * 请勿更改或删除版权声明或此文件头。
 * 此代码是免费软件, 您可以重新分发和/或修改它。
 * 开源是希望它有用, 但不对代码做任何保证。
 * 如有疑问请联系: huayunliufeng@163.com
 */

package io.github.huayunliufeng.common.intface;

import java.util.Objects;

/**
 * 执行有一个参数，无返回值的方法.
 *
 * @author zhongq
 * @datetime 2024/3/27 9:24
 */
@FunctionalInterface
public interface OneVoidFunction<T> {
    void accept(T t) throws Exception;

    default OneVoidFunction<T> andThen(OneVoidFunction<? super T> after) {
        Objects.requireNonNull(after);
        return (T t) -> {
            accept(t);
            after.accept(t);
        };
    }
}
